package com.yanqu.road.entity.config.sacrifice;

import com.yanqu.road.entity.DataObject;

import java.math.BigInteger;
import java.util.Objects;

public class SacrificeDetail extends DataObject {

    private long dateMark;

    private int bossLevel;

    private BigInteger totalBlood = BigInteger.ZERO;

    private BigInteger currentBlood = BigInteger.ZERO;

    private long killBossUserId;

    private String killBossNickName = "";

    private long activeUserCount;          //全服活跃玩家数

    private BigInteger activeAbility = BigInteger.ZERO;      //全服活跃总能力值

    private long inTimeUserCount;         //活动时间内玩家数量

    private BigInteger inTimeAbility = BigInteger.ZERO;   //活动时间内总能力值

    private long joinUserCount;         //参与玩家数量

    private BigInteger joinAbility = BigInteger.ZERO;   //参与总能力值

    private boolean isSendReward;

    private String killBossDecoration = "";

    private long killTime;

    public long getDateMark() {
        return dateMark;
    }

    public void setDateMark(long dateMark) {
        if(this.dateMark != dateMark) {
            this.dateMark = dateMark;
            setUpdateOption();
        }
    }

    public int getBossLevel() {
        return bossLevel;
    }

    public void setBossLevel(int bossLevel) {
        if(this.bossLevel != bossLevel) {
            this.bossLevel = bossLevel;
            setUpdateOption();
        }
    }

    public BigInteger getTotalBlood() {
        return totalBlood;
    }

    public void setTotalBlood(BigInteger totalBlood) {
        if(!Objects.equals(this.totalBlood, totalBlood)) {
            this.totalBlood = totalBlood;
            setUpdateOption();
        }
    }

    public BigInteger getCurrentBlood() {
        return currentBlood;
    }

    public void setCurrentBlood(BigInteger currentBlood) {
        if(!Objects.equals(this.currentBlood, currentBlood)) {
            this.currentBlood = currentBlood;
            setUpdateOption();
        }
    }

    public long getKillBossUserId() {
        return killBossUserId;
    }

    public void setKillBossUserId(long killBossUserId) {
        if(this.killBossUserId != killBossUserId) {
            this.killBossUserId = killBossUserId;
            setUpdateOption();
        }
    }

    public String getKillBossNickName() {
        return killBossNickName;
    }

    public void setKillBossNickName(String killBossNickName) {
        if(!Objects.equals(this.killBossNickName, killBossNickName)) {
            this.killBossNickName = killBossNickName;
            setUpdateOption();
        }
    }

    public long getActiveUserCount() {
        return activeUserCount;
    }

    public void setActiveUserCount(long activeUserCount) {
        if(this.activeUserCount != activeUserCount) {
            this.activeUserCount = activeUserCount;
            setUpdateOption();
        }
    }

    public BigInteger getActiveAbility() {
        return activeAbility;
    }

    public void setActiveAbility(BigInteger activeAbility) {
        if(!Objects.equals(this.activeAbility, activeAbility)) {
            this.activeAbility = activeAbility;
            setUpdateOption();
        }
    }

    public long getInTimeUserCount() {
        return inTimeUserCount;
    }

    public void setInTimeUserCount(long inTimeUserCount) {
        if(this.inTimeUserCount != inTimeUserCount) {
            this.inTimeUserCount = inTimeUserCount;
            setUpdateOption();
        }
    }

    public BigInteger getInTimeAbility() {
        return inTimeAbility;
    }

    public void setInTimeAbility(BigInteger inTimeAbility) {
        if(!Objects.equals(this.inTimeAbility, inTimeAbility)) {
            this.inTimeAbility = inTimeAbility;
            setUpdateOption();
        }
    }

    public long getJoinUserCount() {
        return joinUserCount;
    }

    public void setJoinUserCount(long joinUserCount) {
        if(this.joinUserCount != joinUserCount) {
            this.joinUserCount = joinUserCount;
            setUpdateOption();
        }
    }

    public BigInteger getJoinAbility() {
        return joinAbility;
    }

    public void setJoinAbility(BigInteger joinAbility) {
        if(!Objects.equals(this.joinAbility, joinAbility)) {
            this.joinAbility = joinAbility;
            setUpdateOption();
        }
    }

    public boolean isSendReward() {
        return isSendReward;
    }

    public void setSendReward(boolean sendReward) {
        if(this.isSendReward != sendReward) {
            isSendReward = sendReward;
            setUpdateOption();
        }
    }

    public String getKillBossDecoration() {
        return killBossDecoration;
    }

    public void setKillBossDecoration(String killBossDecoration) {
        if(!Objects.equals(this.killBossDecoration, killBossDecoration)) {
            this.killBossDecoration = killBossDecoration;
            setUpdateOption();
        }
    }

    public long getKillTime() {
        return killTime;
    }

    public void setKillTime(long killTime) {
        if(this.killTime != killTime) {
            this.killTime = killTime;
            setUpdateOption();
        }
    }
}
